package com.gzck.gzck_verson2.controller;


import com.gzck.gzck_verson2.pojo.GRtuType;
import com.gzck.gzck_verson2.service.IGRtuTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 采集仪类型表 前端控制器
 * </p>
 *
 * @author 任永辉
 * @since 2024-01-22
 */
@RestController
@RequestMapping("/g-rtu-type")
public class GRtuTypeController {

    @Autowired
    private IGRtuTypeService gRtuTypeService;

    /**
     * 添加采集仪类型
     *
     * @param gRtuType 采集仪类型实体
     * @return 是否添加成功
     */
    @PostMapping("/add")
    public boolean addRtuType(@RequestBody GRtuType gRtuType) {
        return gRtuTypeService.save(gRtuType);
    }

    /**
     * 删除采集仪类型
     *
     * @param id 采集仪类型ID
     * @return 是否删除成功
     */
    @DeleteMapping("/delete/{id}")
    public boolean deleteRtuType(@PathVariable Long id) {
        return gRtuTypeService.removeById(id);
    }

    /**
     * 更新采集仪类型
     *
     * @param gRtuType 采集仪类型实体
     * @return 是否更新成功
     */
    @PutMapping("/update")
    public boolean updateRtuType(@RequestBody GRtuType gRtuType) {
        return gRtuTypeService.updateById(gRtuType);
    }

    /**
     * 根据ID获取采集仪类型
     *
     * @param id 采集仪类型ID
     * @return 采集仪类型实体
     */
    @GetMapping("/get/{id}")
    public GRtuType getRtuTypeById(@PathVariable Long id) {
        return gRtuTypeService.getById(id);
    }

    /**
     * 获取所有采集仪类型列表
     *
     * @return 采集仪类型列表
     */
    @GetMapping("/list")
    public List<GRtuType> getAllRtuTypes() {
        return gRtuTypeService.list();
    }
}
